The 'has_uncommitted_ack_configure' state was added to make sure we're
responding to 'xdg_surface.configure' events with
'xdg_surface.ack_configure' requests, as is necessary according to spec.
What we didn't do was to clear this state when hiding, meaning that if
we hid the surface after a configure event, but before the frame
finished and we processed the 'has_uncommitted_ack_configure', we'd try
to acknowledge the surface configuration after having destroyed the
surface.
Closes: #3262
g_clear_pointer (&impl->popup.layout, gdk_popup_layout_unref);
}
+ impl->has_uncommitted_ack_configure = FALSE;
+
unset_transient_for_exported (surface);
_gdk_wayland_surface_clear_saved_size (surface);